import request from '@/utils/request'
import qs from 'qs'

// 用户登录
export function login(params = {}) {
  return request({
    url: '/api/v1/user/login',
    method: 'get',
    params
  })
}

// 获取重置密码验证码
export function getValidateCode(params = {}) {
  return request({
    url: '/api/v1/user/password/reset/validate/code',
    method: 'get',
    params
  })
}

// 重置密码
export function resetPwd(params = {}) {
  return request({
    url: '/api/v1/user/password/reset',
    method: 'post',
    params
  })
}

// 获取用户信息
export function getInfo(token) {
  return request({
    url: '/api/v1/user/current',
    method: 'get',
    params: { token }
  })
}

// 退出登录
export function logout() {
  return request({
    url: '/vue-admin-template/user/logout',
    method: 'post'
  })
}

// 创建用户
export function createUser(params = {}) {
  return request({
    url: '/api/v1/user',
    method: 'post',
    params
  })
}

// 更新用户
export function updateUser(params = {}) {
  return request({
    url: '/api/v1/user',
    method: 'put',
    params
  })
}
// 删除用户
export function deleteUser(params = {}) {
  return request({
    url: '/api/v1/user',
    method: 'delete',
    params
  })
}
// 用户列表及查询
export function RUserList(params = {}) {
  return request({
    url: '/api/v1/user/list',
    method: 'get',
    params
  })
}

// 锁定、开启用户
export function updateUserStatus(params = {}) {
  return request({
    url: '/api/v1/user/status',
    method: 'put',
    params
  })
}

// 查询用户角色列表
export function getRoleList(params = {}) {
  return request({
    url: '/api/v1/user/role/list',
    method: 'get',
    params
  })
}

// 创建角色
export function CRole(params = {}) {
  return request({
    url: '/api/v1/user/role',
    method: 'post',
    params,
    paramsSerializer: params => {
      return qs.stringify(params, { indices: false })
    }
  })
}

// 更新角色
export function URole(params = {}) {
  return request({
    url: '/api/v1/user/role',
    method: 'put',
    params,
    paramsSerializer: params => {
      return qs.stringify(params, { indices: false })
    }
  })
}

// 删除角色
export function DRole(params = {}) {
  return request({
    url: '/api/v1/user/role',
    method: 'delete',
    params
  })
}

// 获取角色菜单id
export function getRoleMenu(params = {}) {
  return request({
    url: '/api/v1/user/role/menu',
    method: 'get',
    params
  })
}

